package bigdecimal;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class test {
    public static void main(String[] args) {
        System.out.println(0.1+0.2);//0.3000000000004精度失帧
        BigDecimal a= BigDecimal.valueOf(0.1);
        BigDecimal b= BigDecimal.valueOf(0.2);
        BigDecimal c=a.add(b);
        System.out.println(c);//直接输出0.3说明已经重写了toString
        System.out.println(a.subtract(b));//-0.1减法
        System.out.println(a.multiply(b));//0.02乘法
        System.out.println(a.divide(b));//0.5除法
        double s=c.doubleValue();//将c值转成double类型
        System.out.println(s);
        BigDecimal a1= BigDecimal.valueOf(0.1);
        BigDecimal b1= BigDecimal.valueOf(0.3);
        //System.out.println(a1.divide(b1));//报错因为bigdecimal是精度运算除不尽会报错
        System.out.println(a1.divide(b1,2, RoundingMode.HALF_UP));//
        //                               保留几位小时      保留形式（四舍五入）
    }
}
